#ifndef CMDTRANSFER_H
#define CMDTRANSFER_H

#include "InfoContainer.h"
#include "WeiQueue.h"
#include "Queue.h"
#include "WeiBo.h"
#include "AirConditionTerminal_YL.h"
#include "DevCreater.h"

class CCmdTransfer
{
public:
    CCmdTransfer();
    ~CCmdTransfer();
    bool Init();
    bool Run(int * RoomFlag);
    void Cleanup();

private:
    CTerminalDev * CreateTerminalDev(const int & DevType);
    CAirConditionTerminal * CreateAirConditionTerminal(const int & AirConditionType);
    void WeiCmdAnalyse();
    bool SetSmart(const int & RoomNum, const int & CurFlag, int * RoomFlag);
    void SetHand(const string & ZigbeeID, const int & Value);
    void GetSensorData(const string & ZigbeeID);
    void GetTerminalStatus(const int & RoomNum);

private:
    CInfoContainer * InfoContainer;
    CWeiQueue * WeiQueue;
    CQueue * Queue;
    CWeiBo * WeiBo;
    CDevCreater * DevCreater;

};

#endif // CMDTRANSFER_H
